package com.demo.java.OD501_550.OD539;

import java.util.Scanner;
import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【体育场找座位(C卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146512487
 */
public class OdMain {
    public static int count = 0;  // 记录需要填充的座位数量

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 读取座位排布，并将其转化为整数数组
        int[] nums = Arrays.stream(in.nextLine().split("")).mapToInt(Integer::parseInt).toArray();
        int n = nums.length;  // 座位数
        // 调用 solve 方法进行座位填充
        solve(nums, n);
        // 输出最终需要填充的座位数量
        System.out.println(count);
        return;
    }

    // 填充空座位的处理函数
    public static void solve(int[] nums, int n) {
        // 遍历所有座位
        for (int j = 0; j < n; j++) {
            // 如果当前座位有观众，则跳过
            if (nums[j] != 0) {
                continue;
            } else {
                // 判断是否能填充当前空座位
                if (j == 0 || nums[j] == 0) {
                    // 如果当前座位是第一个或者紧邻的座位为空
                    if (j == n - 1 || nums[j + 1] == 0) {
                        // 如果当前座位是最后一个或者后面为空
                        if ((j == 0) || (j >= 1 && nums[j - 1] == 0)) {
                            // 如果前一个座位为空
                            count += 1;  // 填充座位
                            nums[j] = 1;  // 标记该座位已经填充
                            j += 1;  // 跳过下一个座位，确保不重复填充
                        }
                    }
                }
            }
        }
    }
}